Machine Learning (ML) techniques have become a powerful data mining approach for extracting useful patterns from increasingly large data sets. ML techniques have proven useful in a broad range of applications, as well. For example, ML techniques have been applied to traditional applications such as digit and character recognition, web search recommendations, demand forecasting, large-scale product classification, handwriting analysis, natural language processing, computer vision systems, etc. Generally, building a ML model to describe patterns in large data sets requires an iterative process involving repeated experimentation across several of the individual model building process steps, including, for example, data preprocessing, data analysis, feature engineering, model training, and model performance evaluation. Typically, each ML model is unique and even if the application shares common features, the ML model must be reconstructed through the iterative experimentation process. Moreover, currently available tools and software for creating ML models require significant and non-trivial manual efforts to support the iterative experimentation. The extent of manual interaction with the ML model is often proportional to the number of models that must be trained, or the amount of data required or utilized for training an ML model. Furthermore, manual interaction with the ML model is typically required throughout the life of the ML model due to changes in input data. For instance, model performance may deteriorate over time if the distribution of the input data changes significantly. Therefore, model performance may require continuous monitoring and retraining of the ML model using the same or similar manual, iterative model building process.